import json
import sys
import io
# 设置sys.stdout的编码为UTF-8
sys.stdout.reconfigure(encoding='utf-8')
# 创建一个新的输出流，并设置编码为UTF-8
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
# 将 当且路径 添加到path中
sys.path.append(r'.')
from DrissionPage import ChromiumPage, ChromiumOptions

# 读取json文件
def load_param_datas_from_file(file_path):
    with open(file_path, "r", encoding='utf-8') as f:
        json_file_datas = json.loads(f.read())  # load的传入参数为字符串类型
        return json_file_datas


def save_config_ini():

    json_file_datas = load_param_datas_from_file('save_config_ini.data.json')
    port = json_file_datas['port']
    browserPath = json_file_datas['browserPath']
    extensionPath = json_file_datas['extensionPath']
    userDataPath = json_file_datas['userDataPath']
    configIniFilePath = json_file_datas['configIniFilePath']
    openUrl = json_file_datas['openUrl']
    print(json_file_datas)
    # 创建浏览器配置对象，指定浏览器路径
    co = ChromiumOptions()
    co.set_local_port(port)
    # 浏览器路径
    co.set_browser_path(browserPath)
    # 插件路径
    co.add_extension(extensionPath)
    co.set_user_data_path(userDataPath)
    co.save(configIniFilePath)
    # 使用该配置对象创建页面
    page = ChromiumPage(addr_or_opts=co)
    page.get(openUrl)


save_config_ini()
